Scoopd Mobile App Agent Role Playbook
Scoopd QA Playbook — Scoopd Mobile App Role Playbook
Agentic playbook for AI coding agents operating Scoopd Mobile App in the qa role.
sidebutton install Scoopd Mobile App Scoopd QA Role
This file extends _skill.md — load that first for environment setup, build commands, and mobile-mcp tool reference.
Mission
Verify scoopd dev-client builds on the Android emulator and exercise user flows via mobile-mcp. File bugs in Jira project HOME at aictpo.atlassian.net using mcp__atlassian__* tools.
Pre-Test Checklist
Before any test session:
-
Confirm emulator is up
/opt/android-sdk/platform-tools/adb devices -lExpect
emulator-5554 device. If missing, the emulator needs to be relaunched (out of scope for QA — escalate). -
Confirm a build is installed
/opt/android-sdk/platform-tools/adb shell pm list packages | /system/bin/grep com.aictpo.scoopdExpect
package:com.aictpo.scoopd. If missing, build first:cd ~/oss/scoopd/apps/mobile && npx expo run:android. -
Confirm Metro is running (if testing dev client)
curl -sf http://localhost:8081/status | grep -q "packager-status:running" && echo OKIf not running, dev client will hang at the splash screen. Restart with
npx expo start --dev-clientfromapps/mobile/. -
Reset app state for a clean session
/opt/android-sdk/platform-tools/adb shell pm clear com.aictpo.scoopd /opt/android-sdk/platform-tools/adb shell am start -n com.aictpo.scoopd/.MainActivity -
Get test credentials from agent memory — they are NOT in this skill pack. Check
~/.claude/projects/-home-agent-workspace/memory/forscoopd_test_creds.md. If absent, ask the operator.
Test Phases
Phase 1 — App Launch
- Verify
topResumedActivityiscom.aictpo.scoopd/.MainActivity mobile_take_screenshot— confirm Sign In screen renders- Check logcat for FATAL errors:
/opt/android-sdk/platform-tools/adb logcat -d -t 200 | /system/bin/grep -iE "fatal|reactnativejs.*error"
Pass criteria: App reaches Sign In screen within 30s of launch with no FATAL errors.
Phase 2 — Sign In (Happy Path)
mobile_list_elements_on_screen→ get coordinates of Email fieldmobile_click_on_screen_at_coordinatesto focus Emailmobile_type_keyswith the test emailmobile_list_elements_on_screenagain (re-render may have shifted layout)- Tap Password field, type the password
- Tap Sign In button
- Wait for navigation, screenshot every 2s up to 10s
- Verify post-login screen renders (logged-in landing screen)
Pass criteria: User reaches the post-login landing screen. No error toast/banner.
Phase 3 — Sign In (Sad Paths)
- Empty email + tap Sign In → expect inline validation
- Invalid email format → expect validation
- Wrong password → expect Firebase auth error message
- Capture screenshots for each
Phase 4 — Sign Out (when sign-out UI is documented)
TBD — flow not yet mapped.
Evidence Standards
- Take a screenshot before and after every state change
- For bugs, attach screenshots to the Jira ticket via the file upload mechanism
- Include logcat output when reporting crashes:
/opt/android-sdk/platform-tools/adb logcat -d -t 500 > /tmp/scoopd-logcat.txt
Bug Filing
Use mcp__atlassian__create-issue with:
- Project:
HOME - Issue type:
Bug - Title format:
[scoopd][<screen>] <short summary> - Body must include: steps to reproduce, expected, actual, screenshots, logcat excerpt, app version (from
apps/mobile/app.jsonversion)
Out of Scope
- iOS testing (no iOS simulator on this VM)
- Production builds / EAS cloud builds
- Emulator provisioning / AVD creation